package top.malegod.mapper;

import org.apache.ibatis.annotations.Param;
import top.malegod.model.User;

/**
 * Create by IntelliJ IDEA
 *
 * @author: AbelEthan
 * @date-Time: 2018/5/10 15:55
 * @description: 用户数据库操作接口
 */
public interface UserMapper {

  /**
   * 查找所有用户信息
   * @return
   */
  User findUser();

  /**
   * 通过用户名查看用户是否存在
   * @param username
   * @return
   */
  int findUserCountByUsername(String username);

  /**
   * 通过用户名和密码查找用户信息
   * @param username
   * @param password
   * @return
   */
  User findUserByUsernameAndPassword(@Param("username") String username, @Param("password") String password);

  /**
   * 用户注册
   * @param user
   * @return
   */
  int insertUser(User user);

  /**
   * 创建个人积分
   * @param userId
   * @return
   */
  int addUserIntegral(String userId);

  /**
   * 通过手机号码查看用户是否存在
   * @param str
   * @return
   */
  int findUserCountByPhone(String str);

  /**
   * 通过手机号码更换密码
   * @param username
   * @param passwordNew
   * @return
   */
  int updatePasswordByPhone(@Param("username") String username, @Param("passwordNew") String passwordNew);

  /**
   * 通过旧密码更改密码
   * @param id
   * @param passwordNew
   * @return
   */
  int updatePasswordByPasswordNew(@Param("id") String id, @Param("passwordNew") String passwordNew);

  /**
   * 通过用户ID更改用户信息
   * @param user
   * @return
   */
  int updateUserByUserId(User user);


  /**
   * 通过用户ID 查找用户
   * @param id
   * @return
   */
  User findUserByUserId(String id);

  /**
   * 通过id获取密码
   * @param id
   * @return
   */
  String findUserPasswordById(String id);
}
